The present disclosure relates generally to methods for validating software applications, and particularly to a method and device for autonomously validating an architecture of a given software application.
There are many different software tools and paradigms that are currently available with which software developers can create software applications. Such applications are designed to execute as standalone processes on various different computing devices, while others are designed and implemented to execute on computer servers disposed in a communications network. In some instances, software applications are designed to communicate with each other using a client-server model over such networks to request and retrieve data.
Current software development platforms, such as the JAVA Execution Environment (JAVA EE), help to reduce the costs and complexity normally associated with developing large, complicated multi-tier enterprise services. This is due, at least in part, to the variety of different components available with which to build a software application, as well as the number of standard software architectures that define the development using these components. As those of ordinary skill in the art are aware, such components may include, but are not limited to, client components, browser components, bean components, message services components, database connectivity components, Relational Database Management System (RDBMS) components, Message Driven Bean (MDB) components, Servlet and Web Services (WS) components, and various other classes and functions.
There are many different ways to combine the multitude of various components provided by tools such as JAVA EE, and thus, many different ways to architect an enterprise application using such platforms. It is not always easy for developers to learn and build an application meeting a given standard architecture. And, when a given architecture standard is first introduced or upgraded, it is difficult for the software developers to determine whether existing applications meets these new or upgraded architectures.